package com.itheima.collectiondemo;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.function.Consumer;

public class CollectionTraversalDemo1 {

    public static void main(String[] args) {
        Collection<String> names = new ArrayList<>();
        names.add("张三");
        names.add("李四");
        names.add("王五");
        names.add("赵六");
        names.add("田七");

        // 1.通过集合的迭代器进行遍历, it此时是在第一个元素上，next()方法返回的是第一个元素，然后it会指向第二个元素
        Iterator<String> it = names.iterator();
        System.out.println("通过集合的迭代器进行遍历");
        while (it.hasNext()) {
            String name = it.next();
            System.out.println(name);
        }

        // 2.通过集合的增强for进行遍历
        System.out.println("通过集合的增强for进行遍历");
        for (String name : names) {
            System.out.println(name);
        }

        // 3.通过Lambda表达式的遍历
        System.out.println("通过Lambda表达式的遍历");
//        names.forEach(new Consumer<String>() {
//            @Override
//            public void accept(String s) {
//                System.out.println(s);
//            }
//        });
        //names.forEach(name -> System.out.println(name));
        names.forEach(System.out::println);

    }
}
